参考:https://blog.csdn.net/opera95/article/details/51217021
线性查找
二分查找
冒泡排序
插入排序
选择排序
快速排序
归并排序
二分查找
冒泡排序
插入排序
选择排序
快速排序
归并排序
1 线性查找
线性查找,又称为顺序查找,是指在所有给定的值中从一端开始逐个检查每个元素是否为要查找的对象,直到找到为止的过程。
##逐个查找要查找的对象
#include <stdio.h>
typedef char DataType;
int mySearch(DataType *ts, int n, const DataType d) {
for (int i = 0; i < n; i++)
if (ts[i] == d)
return i;
return -1;
}
int main()
{
char cs[6] = {'*','A','B','C','D','E'};
printf("%d\n", mySearch(cs, 6, '*'));
printf("%d\n", mySearch(cs, 6, 'A'));
printf("%d\n", mySearch(cs, 6, 'D'));
printf("%d\n", mySearch(cs, 6, 'C'));
}
2 二分查找
二分查找算法,又称折半搜索、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。
二分查找算法的查找过程是这样的。首先,要求待查找的数组是排好序的数组,我们假设数组是升序的,即从小到大排序。然后,将要查找的元素与数组的中间元素相对比,如果相等,则表示要查找的元素被找到了,并停止查找;如果要查找的元素小于数组的中间元素,则从数组中间元素开始到数组最后的元素都大于要查找的元素,也就不需要在其中查找了,只需要在数组中间元素到数组第一个元素之间查找;如果要查找的元素大于数组的中间元素,则从数组中间元素到数组第一个元素都小于要查找的元素,也就不需要在其中查找了,只需要在数组中间元素到数组最后的元素之间查找。二分查找算法在查找的过程中只需对比一次,就可以使待查找的对象个数减少一半。查找速度非常快,所以二分查找算法得到了广泛的应用。
步骤一:定义上下界